home *** CD-ROM | disk | FTP | other *** search
- package javax.crypto;
-
- import java.nio.ByteBuffer;
- import java.security.InvalidAlgorithmParameterException;
- import java.security.InvalidKeyException;
- import java.security.Key;
- import java.security.spec.AlgorithmParameterSpec;
-
- public abstract class MacSpi {
- protected abstract int engineGetMacLength();
-
- protected abstract void engineInit(Key var1, AlgorithmParameterSpec var2) throws InvalidKeyException, InvalidAlgorithmParameterException;
-
- protected abstract void engineUpdate(byte var1);
-
- protected abstract void engineUpdate(byte[] var1, int var2, int var3);
-
- protected void engineUpdate(ByteBuffer var1) {
- if (var1.hasRemaining()) {
- if (var1.hasArray()) {
- byte[] var2 = var1.array();
- int var3 = var1.arrayOffset();
- int var4 = var1.position();
- int var5 = var1.limit();
- this.engineUpdate(var2, var3 + var4, var5 - var4);
- var1.position(var5);
- } else {
- int var6 = var1.remaining();
-
- int var8;
- for(byte[] var7 = new byte[CipherSpi.a(var6)]; var6 > 0; var6 -= var8) {
- var8 = Math.min(var6, var7.length);
- var1.get(var7, 0, var8);
- this.engineUpdate(var7, 0, var8);
- }
- }
-
- }
- }
-
- protected abstract byte[] engineDoFinal();
-
- protected abstract void engineReset();
-
- public Object clone() throws CloneNotSupportedException {
- if (this instanceof Cloneable) {
- return super.clone();
- } else {
- throw new CloneNotSupportedException();
- }
- }
- }
-